Specialization of Prolog Programs with Partially Static Goals and Binarization

نویسنده

  • Ulrich Walther Neumerkel
چکیده

This thesis presents two new methods that specialize ordinary and binary Prolog programs and compares them with current approaches. The first method is based on the new notion of partially static goals. Partially static goals generalize binding environments. More information can be propagated for specialization. The method is well suited for application in fold/unfold transformation systems. The second method, EBC-transformation (equality-based continuation transformation) is able to remove unnecessary, existential variables and structural redundancies caused by difference lists, context arguments, short-circuits or accumulator passing that cannot be removed by the methods known from the literature. In particular, for programs representing Definite Clause Grammars EBC-transformations are able to remove all unnecessary variables related to the difference list to be parsed or generated. EBC-transformation does not only make programs amenable to subsequent program transformations by removing unnecessary variables, but also improves execution speed and reduces dynamic memory consumption. The method is of particular interest for binary Prolog implementations. Experimental investigations support this view. Some applications of our methods are given. We were able to derive the unique unification mechanism of the Vienna Abstract Machine by applying partially static goals and EBCtransformations. Extensions to usual programming techniques are presented that benefit from EBC-transformations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Logic Programming and Logic Grammars with Binarization and First-order Continuations

Continuation passing binarization and specialization of the WAM to binary logic programs have been proven practical implementation techniques in the BinProlog system. In this paper we investigate the additional beneets of having rst order continuations at source level. We devise a convenient way to manipulate them by introducing multiple-headed clauses which give direct access to continuations ...

متن کامل

A Prolog Positive Supercompiler

Supercompilation is a method for program specialization. It has been developed in the context of functional languages. We present a positive supercompiler for Prolog. We give the basic algorithm used in APROPOS and explain the diierent phases involved in supercompilation of logic programs. Then the operation and eeciency of the method is demonstrated by means of examples. Finally we compare our...

متن کامل

Some Issues in Analysis and Specialization of Modular Ciao-Prolog Programs

Separating programs into modules is a well-known technique which has proven very useful in program development and maintenance. Starting by introducing a number of possible scenarios, in this paper we study different issues which appear when developing analysis and specialization techniques for modular logic programming. We discuss a number of design alternatives and their consequences for the ...

متن کامل

A Parallel Prolog Execution Model Theoretical Approach and Experimental Results

This paper presents a parallel all-solution extension of Prolog integrating AND parallelism and a restricted form of OR parallelism, both explicitly declared by the user. Parallel sub-goals may share variables and incrementally communicate partially instantiated terms via their common variables, thus allowing stream AND parallelism. Furthermore, the communication direction does not need to be d...

متن کامل

Abstract Specialization and Its Application to Program Parallelization

Specialization and its Application to Program Parallelization Germán Puebla and Manuel Hermenegildo {german,herme}@fi.upm.es Department of Computer Science Technical University of Madrid (UPM) Abstract. Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specia...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992